A device may comprise an operating system (OS) to facilitate the operation of equipment in the device. For example, an OS may comprise various drivers for the equipment, file handling and processing utilities, user interface software that may facilitate user interaction with a device, etc. Devices have traditionally only comprised one OS as this is all that is needed for the device to function. However, the introduction of a variety of different types of operating systems from a variety of sources has generated interest in multi-operating system devices. For example, a user of a mobile computing device may desire to employ a more robust OS when the device is being used in a stationary manner (e.g., with external power and a wired network), and may switch to an OS that more streamlined, power efficient, etc. when the device is mobile. Alternatively, the increase in interest in “cloud” computing solutions (e.g., at least one device capable of providing services such as remote processing, remote storage, etc.) has created the need to be able to break down devices into smaller units of computing for scalable processing solutions. In either case, the ability to run multiple operating systems individually or concurrently is a desirable ability.
While employing more than one OS in a device may be beneficial on its face, the actual implementation of such a system is currently problematic. Existing solutions do not allow for transitioning from one OS to another in an expedient manner or for running multiple operating systems concurrently. Instead, a device may only run one OS at a time, may need to be rebooted to change OS configuration, etc. The resulting delays and/or undesirable operational limitations may make the use of more than one OS burdensome. It may also be possible for an instance of one operating system to run virtually within another OS, thereby allowing more than one OS to be concurrently active in a device. While such a solution may provide the flexibility to run more than one OS at the same time or to move quickly between different operating systems, the processing and/or power resources needed to implement this solution so that each OS performs in an acceptable manner does not make it appropriate for certain implementations wherein, for example, processing power and/or battery life are a concern (e.g., mobile communication and/or computing devices), where the desire is to subdivide equipment in a device to provide adequate resources, security and/or stability for a plurality of operating systems running concurrently, etc.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications and variations thereof will be apparent to those skilled in the art.